Move generate_acpi_checksum() from ia64 code to common.
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Mon, 30 Jul 2007 09:59:27 +0000 (10:59 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Mon, 30 Jul 2007 09:59:27 +0000 (10:59 +0100)
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
tools/libxc/ia64/Makefile
tools/libxc/ia64/dom_fw_acpi.c [new file with mode: 0644]
xen/arch/ia64/xen/dom_fw_common.c
xen/drivers/acpi/tables.c
xen/include/asm-ia64/dom_fw_common.h
xen/include/xen/acpi.h

index 29f7050ad539a5d39249a9c12f94a9afb78e9d31..27ab80765b483697819af30f5a51851f58bfa527 100644 (file)
@@ -5,7 +5,7 @@ GUEST_SRCS-y += ia64/xc_ia64_linux_save.c
 GUEST_SRCS-y += ia64/xc_ia64_linux_restore.c
 
 GUEST_SRCS-y += ia64/xc_dom_ia64_util.c
-DOMFW_SRCS_BASE := dom_fw_common.c dom_fw_domu.c dom_fw_asm.S
+DOMFW_SRCS_BASE := dom_fw_common.c dom_fw_domu.c dom_fw_asm.S dom_fw_acpi.c
 DOMFW_SRCS := $(addprefix ia64/, $(DOMFW_SRCS_BASE))
 $(DOMFW_SRCS):
        ln -sf ../$(XEN_ROOT)/xen/arch/ia64/xen/$(@F) $@
diff --git a/tools/libxc/ia64/dom_fw_acpi.c b/tools/libxc/ia64/dom_fw_acpi.c
new file mode 100644 (file)
index 0000000..09d1281
--- /dev/null
@@ -0,0 +1,13 @@
+#include <inttypes.h>
+#include <xen/acpi.h>
+
+uint8_t
+generate_acpi_checksum(void *tbl, unsigned long len)
+{
+    uint8_t *ptr, sum = 0;
+
+    for ( ptr = tbl; len > 0 ; len--, ptr++ )
+        sum += *ptr;
+
+    return 0 - sum;
+}
index 43ed21e6d3026d66bc9e9651408fae482da04aa4..67a358b6b612018195c56369f05b9ae3fe42b005 100644 (file)
@@ -207,17 +207,6 @@ print_md(efi_memory_desc_t *md)
                printk("(%luKB)\n", size >> 10);
 }
 
-uint8_t
-generate_acpi_checksum(void *tbl, unsigned long len)
-{
-       uint8_t *ptr, sum = 0;
-
-       for (ptr = tbl; len > 0 ; len--, ptr++)
-               sum += *ptr;
-
-       return 0 - sum;
-}
-
 struct fake_acpi_tables {
        struct acpi20_table_rsdp rsdp;
        struct xsdt_descriptor_rev2 xsdt;
index 2a38116d1559a53c28ea76d9495ab78886993fee..075c9fb8519ac948224da0e5eae1cada0d7ac2a5 100644 (file)
@@ -227,6 +227,17 @@ void acpi_table_print_madt_entry(acpi_table_entry_header * header)
        }
 }
 
+uint8_t
+generate_acpi_checksum(void *tbl, unsigned long len)
+{
+       uint8_t *ptr, sum = 0;
+
+       for (ptr = tbl; len > 0 ; len--, ptr++)
+               sum += *ptr;
+
+       return 0 - sum;
+}
+
 static int
 acpi_table_compute_checksum(void *table_pointer, unsigned long length)
 {
index 2e1ef6216e947b90788f7317ed5c4da994fb21b9..9ba42021376a6c10f649872f00d2dfcdd0cc5003 100644 (file)
@@ -85,7 +85,6 @@ void
 xen_ia64_efi_make_md(efi_memory_desc_t *md,
                      uint32_t type, uint64_t attr, 
                      uint64_t start, uint64_t end);
-uint8_t generate_acpi_checksum(void *tbl, unsigned long len);
 struct fake_acpi_tables;
 void dom_fw_fake_acpi(domain_t *d, struct fake_acpi_tables *tables);
 int efi_mdt_cmp(const void *a, const void *b); 
index 3482d913914aa8a1fd36af922c3b547d9bf6256e..062e4d4b40892842d0abc3b5fa5a115c77216802 100644 (file)
@@ -390,6 +390,7 @@ int acpi_table_parse_srat (enum acpi_srat_entry_id id, acpi_madt_entry_handler h
 void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr);
 void acpi_table_print_madt_entry (acpi_table_entry_header *madt);
 void acpi_table_print_srat_entry (acpi_table_entry_header *srat);
+uint8_t generate_acpi_checksum(void *tbl, unsigned long len);
 
 /* the following four functions are architecture-dependent */
 void acpi_numa_slit_init (struct acpi_table_slit *slit);